/**
 项目JS主入口
 **/
layui.define(['layer', 'jquery', 'element'], function (exports) {
    var layer = layui.layer
        , $ = layui.jquery
        , element = layui.element;

    // 获取window.location.href传过来的参数 name是key
    var getParameter = function (name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) return unescape(r[2]);
        return null;
    }

    var code = getParameter("code");
    // $(function () {
    //     $.ajax({
    //         type: "POST",
    //         url: '/admin/setCode',
    //         async:false,//同步提交。不设置则默认异步，异步的话，最后执行ajax
    //         data:{
    //             code:code
    //         },
    //         success: function(result) {
    //             if(result.status == '200'){
    //                 console.log("授权成功！");
    //             }else{
    //                 alert("获取有赞授权码失败！")
    //             }
    //         },
    //         error: function(error) {
    //             alert("获取有赞授权码失败！");
    //         }
    //     });
    // })
    // 用户信息注入
    // $("#userImgId").prop("src", userData["url"]);
    // $("#userNameId").text(userData["userName"]);


    // 自定义table的一些动作
    var table = {
        // 添加tab
        tabAdd: function (title, id, content) {
            element.tabAdd('tabId', {
                title: title,
                content: '<iframe data-frameid="' + id + '" scrolling="auto" frameborder="0" src="' + content + '" style="width:100%;height: 100%;"></iframe>',
                id: id
            });
            // 60 45 50 30 3
            // 顶部高度 底部高度 tab高度 360浏览器底部高度 tab间隙
            var height = $(window).height() - 188;
            $("iframe").css("height", height);

            CustomRightClick(id);//绑定右键菜单
            FrameWH();//计算框架高度

        },
        // 选择
        tabChange: function (id) {
            element.tabChange('tabId', id);
        },
        // 删除
        tabDelete: function (id) {
            element.tabDelete('tabId', id);
        },
        // 批量删除
        tabDeleteAll: function (ids) {
            $.each(ids, function (i, item) {
                element.tabDelete('tabId', item);
            })
        }
    };


    // 菜单拼接

    //点击导航栏  右边显示tab+iframe内容
    $(document).on("click",'.tab-menu-item',function () {
        var tabId = $(this).attr("tab-id");
        var tabUrl = $(this).attr("tab-url");
        var tabTitle = $(this).attr("tab-title");
        // 判断该table id 是否已经存在
        if ($(".layui-tab-title li").length <= 0) {
            table.tabAdd(tabTitle, tabId, tabUrl);
        } else {
            // 否则拿到所有的 id 进行比对
            var flag = false;
            $.each($(".layui-tab-title li[lay-id]"), function () {
                if ($(this).attr('lay-id') == tabId) {
                    flag = true;
                }
            });
            // 若不存在表格才进行添加
            if (!flag) {
                table.tabAdd(tabTitle, tabId, tabUrl);
            }
            table.tabChange(tabId);
        }
    });

    $("#exhibitGood").click(function(){
        var tabId = 'tab-exhibitGood';
        var tabUrl = '/admin/getAllProduct';
        var tabTitle = "商品上货";

        // 判断该table id 是否已经存在
        if ($(".layui-tab-title li").length <= 0) {
            table.tabAdd(tabTitle, tabId, tabUrl);
        } else {
            // 否则拿到所有的 id 进行比对
            var flag = false;
            $.each($(".layui-tab-title li[lay-id]"), function () {
                if ($(this).attr('lay-id') == tabId) {
                    flag = true;
                }
            });
            // 若不存在表格才进行添加
            if (!flag) {
                table.tabAdd(tabTitle, tabId, tabUrl);
            }
            table.tabChange(tabId);
        }
    })

    function CustomRightClick(id) {
        //取消右键  rightmenu属性开始是隐藏的 ，当右击的时候显示，左击的时候隐藏
        $('.layui-tab-title li').on('contextmenu', function () { return false; })
        $('.layui-tab-title,.layui-tab-title li').click(function () {
            $('.rightmenu').hide();
        });
        //桌面点击右击
        $('.layui-tab-title li').on('contextmenu', function (e) {
            var popupmenu = $(".rightmenu");
            popupmenu.find("li").attr("data-id",id); //在右键菜单中的标签绑定id属性

            //判断右侧菜单的位置
            // l = ($(document).width() - e.clientX) < popupmenu.width() ? (e.clientX - popupmenu.width()) : e.clientX;
            // t = ($(document).height() - e.clientY) < popupmenu.height() ? (e.clientY - popupmenu.height()) : e.clientY;
            l = (e.clientX-200)+'px';
            t = (e.clientY-50)+'px';
            popupmenu.css({ left: l, top: t }).show(); //进行绝对定位
            //alert("右键菜单")
            return false;
        });
    }

    $(window).resize(function () {
        FrameWH();
    })

    function FrameWH() {
        var h = $(window).height() -41- 10 - 60 -10-44 -10;
        $("iframe").css("height",h+"px");
    }


    //tab菜单
    $(".rightmenu li").click(function () {

        //右键菜单中的选项被点击之后，判断type的类型，决定关闭所有还是关闭当前。
        if ($(this).attr("data-type") == "closethis") {
            //如果关闭当前，即根据显示右键菜单时所绑定的id，执行tabDelete
            table.tabDelete($(this).attr("data-id"))
        } else if ($(this).attr("data-type") == "closeall") {
            var tabtitle = $(".layui-tab-title li");
            var ids = new Array();
            $.each(tabtitle, function (i) {
                ids[i] = $(this).attr("lay-id");
            })
            //如果关闭所有 ，即将所有的lay-id放进数组，执行tabDeleteAll
            table.tabDeleteAll(ids);
        }

        $('.rightmenu').hide(); //最后再隐藏右键菜单
    })

    $("#loginOut").click(function () {
        layer.confirm('确定注销？', {
            title:'退出',
            icon:3,
            btn: ['确定', '取消']// 按钮
        }, function (preIndex) {
            layer.close(preIndex);
            // 0代表加载的风格，支持0-2
            // var index = layer.load(0,{shade: [0.7, '#393D49']}, {shadeClose: true});
            //此处请求后台程序，下方是成功后的前台处理……
            location.href = "/admin/loginOut";
        });
    });
    exports('main', {});
});